t-att
與t-attf
的使用方法
t-att
是一個用於設定HTML元素屬性的指令。它的作用是將指定的HTML元素屬性設定為一個特定的值。這個值可以是模型字段的值、常數或表達式的結果,以下是範例:
<a t-att-href="'/my/page/' + str(record.id)">Link Text</a>
-----------------------------------------------------------
<a t-att-href="library.librarian.email">Email</a>
-----------------------------------------------------------
<p t-att="['style','background-color=red;']">Hello</p>
-----------------------------------------------------------
<p t-att="{'style':'background-color:green;','href':'www.library.com'}">
Hello
</p>
t-attf
是一個用於處理 HTML 元素屬性的特殊指令。它的作用是將一個變數的值設置為 HTML 元素的屬性值。這在動態生成 HTML 元素時非常有用,您可以使用 t-attf
指令將元素的屬性值設定為模型字段的值或其他內容,以下是範例:
<div t-attf-class="{'active': record.is_active}">
Some content
</div>
-----------------------------------------------------------
<p t-attf-style="background-color:#{doc.coll_number};">
Hello Show Color
</p>
inherit_id
的使用
在odoo QWeb中,當然少不了繼承的功能,<template>
元素用於定義模板,而inherit_id
屬性是用於指定要繼承的模板的ID。通過inherit_id,您可以在子模板中重複使用和擴展父模板的內容,以下是範例:
<template inherit_id="繼承的template_id" id="此模板的id">
<xpath expr="//div[hasclass('page')]" postition="replace">
<div class = 'page'>
<h1>This is sample</h1>
</div>
</xpath>
</template>
barcode
條碼的使用
我們也可以套過QWeb裡的功能,來生成像是二維條碼或是QRCode:
<table>
<tr>
<td>
<img src ="/report/barcode/QR/hello world" width="80" height="80" alt="Barcode"/>
</td>
</tr>
</table>
-----------------------------生成QRCode------------------------------
<table>
<tr>
<td>
<img src ="'/report/barcode/QR/%s' %(librarian.name) "
width="80" height="80" alt="Barcode"/>
</td>
</tr>
</table>
-----------------------------生成QRCode------------------------------
<table>
<tr>
<td>
<img t-att-src ="'/report/barcode/?type=%s & value=%s &
width=%s & height=%s'('___',librarian.name,100,100)"/>
</td>
</tr>
</table>
-----------------------------'___'------------------------------
#'___'可以填入:QR、EAN13、EAN8、Code128、UPCA